﻿#pragma once
#include <memory>

class PID;

class DomePid
{
private:
    std::shared_ptr<PID> m_pidX;
    std::shared_ptr<PID> m_pidY;
    std::shared_ptr<PID> m_pidZ;

    double m_domeInX;
    double m_domeInY;
    double m_domeInZ;

    double m_pointX;
    double m_pointY;
    double m_pointZ;

    double m_domeOutSpeedX;
    double m_domeOutSpeedY;
    double m_domeOutSpeedZ;

public:
    DomePid();
    ~DomePid();

    void setDomeInX(double domeInX) { m_domeInX = domeInX; }
    void setDomeInY(double domeInY) { m_domeInY = domeInY; }
    void setDomeInZ(double domeInZ) { m_domeInZ = domeInZ; }

    double getDomeOutSpeedX() { return m_domeOutSpeedX; }
    double getDomeOutSpeedY() { return m_domeOutSpeedY; }
    double getDomeOutSpeedZ() { return m_domeOutSpeedZ; }

    void compute();
};

